using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NCT.Framework;

namespace VISS.API.Users {

    /// <summary>
    /// Contains info of user culture profile 
    /// </summary>
    [Serializable]
	public class UserCultureProfileEnt {

		#region Properties

        /// <summary>
        /// Gets or sets the user key.
        /// </summary>
        /// <value>The user key.</value>
		public string UserKey { get; set; }
        /// <summary>
        /// Gets or sets the nationality ID.
        /// </summary>
        /// <value>The nationality ID.</value>
		public short NationalityID { get; set; }
        /// <summary>
        /// This field is only used for display extra data.
        /// </summary>
        /// <value>The nationality.</value>
		public string Nationality { get; set; }
        /// <summary>
        /// Gets or sets the ethnic ID.
        /// </summary>
        /// <value>The ethnic ID.</value>
		public short EthnicID { get; set; }
        /// <summary>
        /// This field is only used for display extra data.
        /// </summary>
        /// <value>The ethnic.</value>
		public string Ethnic { get; set; }
        /// <summary>
        /// Gets or sets the language ID array (ex: 1,2,3).
        /// </summary>
        /// <value>The language IDs.</value>
		public string LanguageIDs { get; set; }
        /// <summary>
        /// This field is only used for display extra data.
        /// </summary>
        /// <value>The languages array (ex: Vietnamese,English,French).</value>
		public string Languages { get; set; }
        /// <summary>
        /// Gets or sets the religion ID.
        /// </summary>
        /// <value>The religion ID.</value>
		public short ReligionID { get; set; }
        /// <summary>
        /// This field is only used for display extra data.
        /// </summary>
        /// <value>The religion.</value>
		public string Religion { get; set; }
        /// <summary>
        /// Gets or sets the lunar year ID.
        /// </summary>
        /// <value>The lunar year ID.</value>
		public short LunarYearID { get; set; }
        /// <summary>
        /// This field is only used for display extra data.
        /// </summary>
        /// <value>The lunar year.</value>
		public string LunarYear { get; set; }
        /// <summary>
        /// Gets or sets the zodiac month ID.
        /// </summary>
        /// <value>The zodiac month ID.</value>
		public short ZodiacMonthID { get; set; }
        /// <summary>
        /// This field is only used for display extra data.
        /// </summary>
        /// <value>The zodiac month.</value>
		public string ZodiacMonth { get; set; }
        /// <summary>
        /// Gets or sets the date created.
        /// </summary>
        /// <value>The date created.</value>
		public DateTime DateCreated { get; set; }
        /// <summary>
        /// Gets or sets the date modified.
        /// </summary>
        /// <value>The date modified.</value>
		public DateTime DateModified { get; set; }

		#endregion

		#region Constructors

        /// <summary>
        /// Initializes a new instance of the <see cref="UserCultureProfileEnt"/> class.
        /// </summary>
		public UserCultureProfileEnt() {
			UserKey = string.Empty;
			NationalityID = 0;
			Nationality = string.Empty;
			EthnicID = 0;
			Ethnic = string.Empty;
			LanguageIDs = string.Empty;
			Languages = string.Empty;
			ReligionID = 0;
			Religion = string.Empty;
			LunarYearID = 0;
			LunarYear = string.Empty;
			ZodiacMonthID = 0;
			ZodiacMonth = string.Empty;
			DateCreated = DateTimeUtils.MinValue;
			DateModified = DateTimeUtils.MinValue;
		}

		#endregion
	}
}